home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr22 / statl411.zip / STATLTEC.DOC < prev   
Text File  |  1993-05-02  |  10KB  |  170 lines

  1. STATLTEC.DOC   (Technical documentation file with STATLINE 4.11)
  2. ================================================================
  3.  
  4.  
  5. This file contains some technical information about the STATLINE program and
  6. the accompanying programs. See STATLINE.DOC file for details on general usage
  7. of these programs.
  8.  
  9.  
  10. TECHNICAL DATA:
  11. ---------------
  12. The program consists of the following parts:
  13. - Buffer containing new device headers for block devices
  14.   The disk-image of this buffer is used to store information about the program.
  15.   Use TYPE STATLINE.COM to display a quick-reference for STATLINE.
  16. - Data used by resident portion
  17. - Service routines e.g. to reprogram video controller and to put information
  18.   on screen
  19. - Interrupt interceptors
  20. - Device driver interceptors
  21. - Space for copy of video parameters and local stack
  22. - Data used by initialization (i.e. non-resident) portion
  23. - Service routines for initialization, e.g. for creating device table
  24. - Main routine
  25.  
  26. Initialization:
  27. - The first thing the program does, is checking the DOS version. This should be
  28.   3.00 or above.
  29.   I haven't tried the program on "odd" environments like OS/2, Windows,
  30.   DeskView etc. but I don't expect it to work in them, simply because it makes
  31.   the video adapter behave in a non-conventional way.
  32. - Checks if the program is already in memory, by searching for a specific
  33.   string.
  34.   Note: Just before the date of release, I discovered that STATLINE would not
  35.   install after a warm start on a specific system with a little memory on the
  36.   motherboard and a lot of memory on an expansion board. Apparently, the VDISK
  37.   device driver used up so much memory that STATLINE landed on the expansion
  38.   board, which I found out did its own RAM refreshing.
  39.   Usually, all memory is cleared even on a warm start, because the timer
  40.   chip and the DMA-chip (the two chips that work together to refresh the
  41.   dynamic RAM) are deactivated and reprogrammed during the POST (power-on-
  42.   self-test).
  43.   Another resident program that uses a similar technique for determining if
  44.   it has already been loaded, had the same problem. I quickly wrote a
  45.   simple (non-resident) program MEMCLEAR.SYS which you may put into your
  46.   CONFIG.SYS to avoid this problem. MEMCLEAR is included in this package.
  47.   Even if you don't have problems with STATLINE, it might be a good idea
  48.   to put it in your config. Note that MEMCLEAR only clears all memory
  49.   above itself. It never overwrites memory that is in use.
  50.   The source of MEMCLEAR, MEMCLEAR.ASM is included as well.
  51. - Read parameters from the command line and change values in memory (change
  52.   values in resident copy of STATLINE if there is one, else change values
  53.   in current copy)
  54. - Print report on screen if necessary
  55. - Exit program if STATLINE was already resident.
  56. - Create a table of device drivers as follows:
  57.   . Search for NUL device using undocumented function call 52h (See PC magazine
  58.     November 1989, vol 8 no 21)
  59.   . If program didn't find NUL device, it stops with an error message.
  60.   . If program did find NUL device, it also found number of drives on system.
  61.   . Search along the chain of device drivers for block devices.
  62.   . A new device header is created in STATLINE's memory that reflects all the
  63.     data of the original device header, but with pointers to new strategy and
  64.     interrupt routines. A maximum number of 16 drivers can be installed. This
  65.     should be enough in most cases, as device drivers may be used for more
  66.     than one drive. DOS for example uses only one device for all physical
  67.     drives controlled by the regular BIOS int 13h.
  68.   . For every drive in each device driver, undocumented function 32h is called
  69.     to obtain the entry from the drive data table. Every entry is changed to
  70.     reflect the address of the new device header.
  71. - Intercept the following interrupts: 13h,25h,26h (direct read/write),
  72.   9 (keyboard), 1Ch (timer) and 10h (video).
  73. - Check if the video parameters are already in RAM. If not, copy them.
  74. - Change the video parameters to reflect a 26th line for text modes
  75. - Switch on the 26th line by sending the modified video table to the 6845
  76.   video controller.
  77. - Reset disks so DOS knows that its information for each drive must be
  78.   re-read from disk. This must be done because of the fake-interrupt 13h
  79.   used by the device table creation routine.
  80. - Terminate and stay resident.
  81.  
  82.  
  83. EXPECTED PROBLEMS:
  84. ------------------
  85. Don't read this before you have installed STATLINE. It will only confuse you.
  86. If you install STATLINE on a system, you may encounter the following two
  87. categories of problems:
  88. 1. Software problems: These can be expected mostly around the undocumented
  89.    functions 32 and 52. The code around function 32 is basically a simple
  90.    algorithm that searches for a known sequence of 4 bytes (which is the
  91.    address of the device header).
  92.    The code around 52 however depends on the fact that the value of the
  93.    number of logical devices is 2 bytes before the NUL device.
  94.    So the moment when Microsoft changes the offset of MAXDRIVE from the null
  95.    device, STATLINE starts guessing the wrong drive letters (It will still
  96.    not be dangerous to your system).
  97.    However when Microsoft changes the entire device chain and file system
  98.    architecture (which is not likely to happen, though) it means trouble.
  99.    Effects could be as small as STATLINE signalling the wrong drive letter
  100.    or as huge as your system crashing as soon as STATLINE is installed
  101.    (or when any disk is accessed just after STATLINE has been installed).
  102.    All this applies to possible future DOS versions. If you are installing
  103.    a new DOS version that has not been tested with STATLINE, remove the
  104.    STATLINE command from your autoexec.bat temporarily, so it can be tested
  105.    manually by typing it from the DOS prompt. Also make sure that you have
  106.    a bootable diskette handy, in case of disaster (If you're installing
  107.    a new DOS version, you have one already - a bootable diskette that is)
  108. 2. Hardware problems: These can be expected mainly around the screen access
  109.    of course. Many known computers and video cards support the CGA and/or
  110.    Monochrome modes, but not nearly all of them really emulate those modes
  111.    well enough to set up a 26th video line. I know of machines with monochrome
  112.    screens that emulate Color Graphics text and graphics modes, but use
  113.    high resolution text (14 line character box) and grey scales. Some of them
  114.    even have a different video controller, so a 26th line simply doesn't
  115.    display. STATLINE works (hear the beeps) but you can't see it.
  116.    Something else that can happen is that if you start STATLINE, the screen
  117.    starts rolling or acting crazy, caused by monitor synchronization problems.
  118.    With most monitors it is possible to correct this by using "V.HOLD" and/or
  119.    "V.SIZE". If it can't be corrected using the monitor settings, it's
  120.    probably your (emulating) video card protesting against the reprogramming.
  121.    These problems can occur even now (as opposed to software problems) and
  122.    they are known at this moment but cannot be corrected without extensive
  123.    knowledge about the various devices emulating CGA or MDA modes. I only know
  124.    my own adapter from the inside out, and I know some other adapters, but
  125.    certainly not every one of them.
  126.    Most notable "strange adapters" are the Hercules cards and some old COMPAQ
  127.    adapters that have their video controllers at the right addres but video
  128.    memory somewhere else. I seem to recall from the original PC magazine
  129.    article that STATLINE works on Hercules cards, though. I don't remember if
  130.    everything went well on old Compaqs.
  131.  
  132.  
  133. RELEASE INFORMATION:
  134. --------------------
  135. 1.00    Initial release as copied from PC magazine, July 1986.
  136. 2.00    Added disk indicator by intercepting disk interrupt Int 13h.
  137. 3.00    Enhanced disk indicator to include devices that don't use Int 13h,
  138.     such as VDISK.SYS. Solved problem of disappearing status line by
  139.     changing the video parameters and intercepting the timer interrupt
  140.     Int 1Ch. (27 Mar 1989)
  141. 3.10    Changed program to support DOS 4.00. (3 Oct 1989)
  142. 4.00    About 80% of program rewritten because of different initialization
  143.     using "new" undocumented function 52h (See PC magazine vol 8 no 21,
  144.     28 Nov 1989). Now ALL block device drivers are intercepted, instead
  145.     of only those that don't use Int 13h.
  146. 4.01    Bug removed in video interrupt (Int 10h) handler.
  147. 4.02    Added option to switch off the status line for ill-behaved programs.
  148.     (later on I discovered that it wasn't the program that was
  149.     ill-behaved, but an error in my AUTOEXEC.BAT file preventing STATLINE
  150.     from detecting that the display mode was changed).
  151.     Added generic I/O control handler which is used by FORMAT and DISKCOPY
  152.     to read from and write to disk directly.
  153.     Initial release on SIMTEL20 and TRICKLE archive sites. (1 Oct 1990)
  154. 4.10    Rewrote command line parser completely. Also, the Int 13h handler no
  155.     longer attempts to find out drive letters for hard disks. The "old"
  156.     code assumed that every harddisk only has one partition. This of course
  157.     is generally not the case. The program now simply displays the number
  158.     (starting at 0 for the first hard disk) instead of a drive letter if
  159.     a hard disk is accessed through Int 13h.
  160.     Internal stack space was reduced - the resident portion is now slightly
  161.     over 2 kilobytes.
  162.     A severe mistake in the MEMCLEAR device driver was corrected. The
  163.     MEMCLEAR device supplied with STATLINE 4.02 probably didn't do anything
  164.     in most environments. Version 1.01 has been tested and proved reliable
  165.     in several DOS versions. Fortunately, STATLINE itself has been
  166.     programmed with more care than MEMCLEAR was. Sorry! (13 Jan 1991)
  167. 4.11    Clock display added. (6 Mar 1991)
  168.  
  169.                             Jac Goudsmit
  170.